package xyz.zhouzhaodong.crm.service;

import xyz.zhouzhaodong.crm.dto.StaffDto;
import xyz.zhouzhaodong.crm.entity.Staff;
import xyz.zhouzhaodong.crm.util.RestMessage;

import javax.servlet.http.HttpServletResponse;

/**
 * 员工操作
 *
 * @author zhouzhaodong
 */
public interface StaffService {

    /**
     * 登陆操作
     *
     * @param userName
     * @param password
     * @return
     */
    RestMessage login(String userName, String password);

    /**
     * 注册
     *
     * @param userName
     * @param password
     * @return
     */
    RestMessage register(String userName, String password);

    /**
     * 修改密码
     *
     * @param id
     * @param passwordOld
     * @param passwordNew
     * @return
     */
    RestMessage changePassword(String id, String passwordOld, String passwordNew);

    /**
     * 更新员工信息
     * @param staff
     * @return
     */
    RestMessage updateStaff(Staff staff);

    /**
     * 逻辑删除
     * @param id
     * @param staffId
     * @return
     */
    RestMessage deleteStaff(String id, String staffId);

    /**
     * 根据id查询用户列表
     * @param id
     * @return
     */
    RestMessage selectOne(String id);

    /**
     * 按条件查询用户list
     * @param staffDto
     * @return
     */
    RestMessage selectStaffList(StaffDto staffDto);

    /**
     * 管理员新增用户
     * @param staffDto
     * @return
     */
    RestMessage addStaff(StaffDto staffDto);

    /**
     * 管理员重置密码
     * @param staffDto
     * @return
     */
    RestMessage resetPasswrod(StaffDto staffDto);

    /**
     * 管理员修改员工岗位
     * @param id
     * @param staffId
     * @param stationId
     * @return
     */
    RestMessage restStation(String id, String staffId, String stationId);

}
